/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejerciciofichero;

import java.io.*;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author AdminLocal
 */
public class Copista
{

    private String contenido;

    public void crearNuevoFichero(String nombreFichero)
    {
        contenido="";
        PrintWriter escritor = crearFlujoSalida(nombreFichero);
        String nuevaCadena="";
        System.out.println("Introduzca el texto del nuevo archivo.");
        System.out.println("Para finalizar, introduzca una linea en blanco.");
        Scanner lector = new Scanner(System.in);
        do{
            nuevaCadena = lector.nextLine();
            if(!nuevaCadena.equals(""))
            {
                contenido += nuevaCadena + "\r\n";
            }
        }while(!nuevaCadena.equals(""));
        escritor.print(contenido);
        escritor.flush();
        escritor.close();
    }

    private PrintWriter crearFlujoSalida(String nombreFichero)
    {
        File fichero = new File(nombreFichero);
        FileWriter escritorFichero = null;
        PrintWriter escritor = null;
        try
        {
            if (!fichero.exists())
            {
                fichero.createNewFile();
            }
            escritorFichero = new FileWriter(fichero);
            escritor = new PrintWriter(escritorFichero);
        } catch (IOException ex)
        {
            Logger.getLogger(Copista.class.getName()).log(Level.SEVERE, null, ex);
        }
        return escritor;
    }

    public void guardarFichero(String nombreFichero)
    {
        PrintWriter escritor = crearFlujoSalida(nombreFichero);
        escritor.print(contenido);
        escritor.flush();
        escritor.close();
    }

    public void cargarFichero(String nombreFichero)
    {
        contenido = "";
        File fichero = new File(nombreFichero);
        FileReader lectorFichero = null;
        Scanner lector = null;
        try
        {
            if (fichero.exists())
            {
                lectorFichero = new FileReader(fichero);
                lector = new Scanner(lectorFichero);
                while (lector.hasNextLine())
                {
                    contenido += lector.nextLine() + "\r\n";
                }
            }
        } catch (FileNotFoundException ex)
        {
            Logger.getLogger(Copista.class.getName()).log(Level.SEVERE, null, ex);
        } finally
        {
            lector.close();
        }
    }
}
